Verifying correct usage of context-free API protocols

نویسندگان

چکیده

Several real-world libraries (e.g., reentrant locks, GUI frameworks, serialization libraries) require their clients to use the provided API in a manner that conforms context-free specification. Motivated by this observation, paper describes new technique for verifying correct usage of protocols. The key idea underlying our is over-approximate program’s feasible call sequences using grammar (CFG) and then check language inclusion between However, since may fail due imprecision CFG abstraction, we propose novel refinement progressively improve CFG. In particular, method obtains counterexamples from queries uses them introduce non-terminals productions while still over-approximating relevant behavior. We have implemented proposed algorithm tool called CFPChecker evaluate it on 10 popular Java applications at least one with Our evaluation shows able verify correctly produces those do not. also compare against three baselines demonstrate enables verification safety properties are beyond reach existing tools.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verifying Correct Usage of Atomic Blocks with Typestate

The atomic block, a synchronization primitive provided to programmers in transactional memory systems, has the potential to greatly ease the development of concurrent software. However, atomic blocks can still be used incorrectly, and race conditions can still occur at the level of application logic. In this paper, we present a static analysis, formalized as a programming language and proven so...

متن کامل

Verifying Electronic Commerce Protocols

This proposal concerns protocol verification by formal proof. With EPSRC funding, Paulson has developed a new and highly successful approach to verifying security protocols: the inductive method. The protocols analyzed by this method include a standard Internet protocol (TLS, a descendant of SSL) [10] and one developed by a UK company, APM Ltd. [9]. APM’s protocol was difficult to analyze using...

متن کامل

Verifying Norm Compliancy of Protocols

There is a wide agreement on the use of norms in order to specify the expected behaviour of agents in open MAS. However, in highly regulated domains, where norms dictate what can and cannot be done, it can be hard to determine whether a desired goal can actually be achieved without violating the norms. To help the agents in this process, agents can make use of predefined (knowledge-based) proto...

متن کامل

Proving Security Protocols Correct

Security protocols use cryptography to set up private communication channels on an insecure network. Many protocols contain flaws, and because security goals are seldom specified in detail, we cannot be certain what constitutes a flaw. Thanks to recent work by a number of researchers, security protocols can now be analyzed formally. The paper outlines the problem area, emphasizing the notion of...

متن کامل

Creating Correct Network Protocols

List of Papers This thesis is based on the following papers, which are referred to in the text by their Roman numerals. The methodology used in this paper was previously presented in [99]. Reprints are made with permission from the publishers. My Contribution Paper I. In the work related to Paper I, I participated in developing the Windows version of LUNAR. I also performed initial verification...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2021

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3434298